package com.edu.d7_sort_binarysearch;

/**
 * 二分查找
 */
public class Test2 {
    public static void main(String[] args) {
        int[] a={10,14,16,25,28,30,35,88,100};
        System.out.println(twoSearch(a, 120));
    }
    //定义二分查找的方法

    /**
     * 二分查找
     * @param arr 要查找的数组
     * @param date 要查找的元素
     * @return 返回索引，如果元素不存在，则返回-1
     */
    public static int twoSearch(int[] arr,int date){
        //定义左边界、右边界
        int left=0;
        int right=arr.length-1;
        while(left<=right){
            int midIndex=(left+right)/2;
            if(date>arr[midIndex]){
                //左边丢掉
                left=midIndex+1;
            }else if(date<arr[midIndex]){
                //右边丢掉
                right=midIndex-1;
            }else{
                return midIndex;}
        }
        return -1;
    }
}
